<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>ufspsxc: Overview</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="HTML_custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xlogo_bg.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">ufspsxc
   </div>
   <div id="projectbrief">Vitis Drivers API Documentation</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Overview</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="globals.html"><span>APIs</span></a></li>
      <li><a href="files.html"><span>File&#160;List</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__ufspsxc.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Overview</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_ufs_psxc___config.html">XUfsPsxc_Config</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This typedef contains configuration information for the device.  <a href="struct_x_ufs_psxc___config.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct____attribute____.html">__attribute__</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Command UPIU Structure.  <a href="struct____attribute____.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_ufs_psxc___uic_cmd.html">XUfsPsxc_UicCmd</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">UIC Command Structure.  <a href="struct_x_ufs_psxc___uic_cmd.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_ufs_psxc___b_l_u_n_info.html">XUfsPsxc_BLUNInfo</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">BootLU information structure.  <a href="struct_x_ufs_psxc___b_l_u_n_info.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <a class="el" href="struct_x_ufs_psxc.html" title="The XUfsPsxc driver instance data. ">XUfsPsxc</a> driver instance data.  <a href="struct_x_ufs_psxc.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga7587500eda2c906e138f1c6993ac9ce4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ufspsxc.html#ga7587500eda2c906e138f1c6993ac9ce4">XUFSPSXC_H_</a></td></tr>
<tr class="memdesc:ga7587500eda2c906e138f1c6993ac9ce4"><td class="mdescLeft">&#160;</td><td class="mdescRight">&lt; prevent circular inclusions  <a href="#ga7587500eda2c906e138f1c6993ac9ce4">More...</a><br/></td></tr>
<tr class="separator:ga7587500eda2c906e138f1c6993ac9ce4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5f89f5e1828c893eaeadf6ff46bfcdff"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ufspsxc.html#ga5f89f5e1828c893eaeadf6ff46bfcdff">XUFSPSXC_SCSI_GOOD</a>&#160;&#160;&#160;0x0U</td></tr>
<tr class="memdesc:ga5f89f5e1828c893eaeadf6ff46bfcdff"><td class="mdescLeft">&#160;</td><td class="mdescRight">&lt; UPIU(SCSI) 8-bits [7:0]  <a href="#ga5f89f5e1828c893eaeadf6ff46bfcdff">More...</a><br/></td></tr>
<tr class="separator:ga5f89f5e1828c893eaeadf6ff46bfcdff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga281e93b3445e60af8166923832e56789"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ufspsxc.html#ga281e93b3445e60af8166923832e56789">XUFSPSXC_LOWLEVEL_H_</a></td></tr>
<tr class="memdesc:ga281e93b3445e60af8166923832e56789"><td class="mdescLeft">&#160;</td><td class="mdescRight">&lt; prevent circular inclusions  <a href="#ga281e93b3445e60af8166923832e56789">More...</a><br/></td></tr>
<tr class="separator:ga281e93b3445e60af8166923832e56789"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:gac10a0fb90e2574aa38c359a72524f80d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ufspsxc.html#gac10a0fb90e2574aa38c359a72524f80d">Error_Bits_15_12</a> </td></tr>
<tr class="memdesc:gac10a0fb90e2574aa38c359a72524f80d"><td class="mdescLeft">&#160;</td><td class="mdescRight">&lt; 4-bits [15:12]  <a href="group__ufspsxc.html#gac10a0fb90e2574aa38c359a72524f80d">More...</a><br/></td></tr>
<tr class="separator:gac10a0fb90e2574aa38c359a72524f80d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga358627c7291aa1c97a2a81ab7be587d5"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ufspsxc.html#ga358627c7291aa1c97a2a81ab7be587d5">Error_Bits_11_8</a> </td></tr>
<tr class="memdesc:ga358627c7291aa1c97a2a81ab7be587d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">&lt; 4-bits [11:8]  <a href="group__ufspsxc.html#ga358627c7291aa1c97a2a81ab7be587d5">More...</a><br/></td></tr>
<tr class="separator:ga358627c7291aa1c97a2a81ab7be587d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6050c15a8236cc68cd98be6b9c67088e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ufspsxc.html#ga6050c15a8236cc68cd98be6b9c67088e">Qry_Error_Bits_7_0</a> </td></tr>
<tr class="memdesc:ga6050c15a8236cc68cd98be6b9c67088e"><td class="mdescLeft">&#160;</td><td class="mdescRight">&lt; UPIU(QUERY) 8-bits [7:0]  <a href="group__ufspsxc.html#ga6050c15a8236cc68cd98be6b9c67088e">More...</a><br/></td></tr>
<tr class="separator:ga6050c15a8236cc68cd98be6b9c67088e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7df93570352daee686d57ffd03e2e0d8"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ufspsxc.html#ga7df93570352daee686d57ffd03e2e0d8">Ocs</a> </td></tr>
<tr class="memdesc:ga7df93570352daee686d57ffd03e2e0d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">&lt; UPIU(OCS) 8-bits [7:0]  <a href="group__ufspsxc.html#ga7df93570352daee686d57ffd03e2e0d8">More...</a><br/></td></tr>
<tr class="separator:ga7df93570352daee686d57ffd03e2e0d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8d145f1df3782d4aec229a4c480121b0"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ufspsxc.html#ga8d145f1df3782d4aec229a4c480121b0">Uic_Cfg_Codes</a> </td></tr>
<tr class="memdesc:ga8d145f1df3782d4aec229a4c480121b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">&lt; UIC CFG 8-bits [7:0]  <a href="group__ufspsxc.html#ga8d145f1df3782d4aec229a4c480121b0">More...</a><br/></td></tr>
<tr class="separator:ga8d145f1df3782d4aec229a4c480121b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabc2d272c18b8295189bd8f3582f99155"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ufspsxc.html#gabc2d272c18b8295189bd8f3582f99155">Uic_Ctrl_Codes</a> </td></tr>
<tr class="memdesc:gabc2d272c18b8295189bd8f3582f99155"><td class="mdescLeft">&#160;</td><td class="mdescRight">&lt; UIC CTRL 8-bits [7:0]  <a href="group__ufspsxc.html#gabc2d272c18b8295189bd8f3582f99155">More...</a><br/></td></tr>
<tr class="separator:gabc2d272c18b8295189bd8f3582f99155"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gaa67843f95526f7c11553c1f125004374"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ufspsxc.html#gaa67843f95526f7c11553c1f125004374">XUfsPsxc_CfgInitialize</a> (<a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *InstancePtr, const <a class="el" href="struct_x_ufs_psxc___config.html">XUfsPsxc_Config</a> *ConfigPtr)</td></tr>
<tr class="memdesc:gaa67843f95526f7c11553c1f125004374"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a specific <a class="el" href="struct_x_ufs_psxc.html" title="The XUfsPsxc driver instance data. ">XUfsPsxc</a> instance such that the driver is ready to use.  <a href="#gaa67843f95526f7c11553c1f125004374">More...</a><br/></td></tr>
<tr class="separator:gaa67843f95526f7c11553c1f125004374"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga615ad820fd1faa16ebd1ad620f2837e5"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ufspsxc.html#ga615ad820fd1faa16ebd1ad620f2837e5">XUfsPsxc_Initialize</a> (<a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga615ad820fd1faa16ebd1ad620f2837e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the Host Controller and UFS device.  <a href="#ga615ad820fd1faa16ebd1ad620f2837e5">More...</a><br/></td></tr>
<tr class="separator:ga615ad820fd1faa16ebd1ad620f2837e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga76dd7620ac6f336d4a9aaa5108e009d6"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ufspsxc.html#ga76dd7620ac6f336d4a9aaa5108e009d6">XUfsPsxc_ConfigureSpeedGear</a> (<a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *InstancePtr, u32 SpeedGear)</td></tr>
<tr class="memdesc:ga76dd7620ac6f336d4a9aaa5108e009d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API Configures the Power Mode.  <a href="#ga76dd7620ac6f336d4a9aaa5108e009d6">More...</a><br/></td></tr>
<tr class="separator:ga76dd7620ac6f336d4a9aaa5108e009d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1e4078f7061f73d5ccd64eafe59c13ee"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ufspsxc.html#ga1e4078f7061f73d5ccd64eafe59c13ee">XUfsPsxc_CheckBootReq</a> (<a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga1e4078f7061f73d5ccd64eafe59c13ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API check boot requirements like BootEnable and bBootLunEn.  <a href="#ga1e4078f7061f73d5ccd64eafe59c13ee">More...</a><br/></td></tr>
<tr class="separator:ga1e4078f7061f73d5ccd64eafe59c13ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6e5ad67b7055e0c5174028c2bdd464c0"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ufspsxc.html#ga6e5ad67b7055e0c5174028c2bdd464c0">XUfsPsxc_SwitchBootLUN</a> (<a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga6e5ad67b7055e0c5174028c2bdd464c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API switch the Boot-LU(1-&gt;2 or 2-&gt;1) by modifying the Attributes and also set the block size to 4K if it is not 4K.  <a href="#ga6e5ad67b7055e0c5174028c2bdd464c0">More...</a><br/></td></tr>
<tr class="separator:ga6e5ad67b7055e0c5174028c2bdd464c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7c68d7e7d43d9d3f3c327c4ea3d58dd6"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ufspsxc.html#ga7c68d7e7d43d9d3f3c327c4ea3d58dd6">XUfsPsxc_ReadPolled</a> (<a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *InstancePtr, u32 Lun, u64 Address, u32 BlkCnt, const u8 *Buff)</td></tr>
<tr class="memdesc:ga7c68d7e7d43d9d3f3c327c4ea3d58dd6"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API perform the data read from the UFS device.  <a href="#ga7c68d7e7d43d9d3f3c327c4ea3d58dd6">More...</a><br/></td></tr>
<tr class="separator:ga7c68d7e7d43d9d3f3c327c4ea3d58dd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5b503a6cef357e029c87ab07e4354763"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ufspsxc.html#ga5b503a6cef357e029c87ab07e4354763">XUfsPsxc_WritePolled</a> (<a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *InstancePtr, u32 Lun, u64 Address, u32 BlkCnt, const u8 *Buff)</td></tr>
<tr class="memdesc:ga5b503a6cef357e029c87ab07e4354763"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API perform the data Write to the UFS device.  <a href="#ga5b503a6cef357e029c87ab07e4354763">More...</a><br/></td></tr>
<tr class="separator:ga5b503a6cef357e029c87ab07e4354763"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2002c7351a5cac41c7a0bea8c1bf8ed9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_x_ufs_psxc___config.html">XUfsPsxc_Config</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ufspsxc.html#ga2002c7351a5cac41c7a0bea8c1bf8ed9">XUfsPsxc_LookupConfig</a> (UINTPTR BaseAddress)</td></tr>
<tr class="memdesc:ga2002c7351a5cac41c7a0bea8c1bf8ed9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Looks up the device configuration based on the unique device ID.  <a href="#ga2002c7351a5cac41c7a0bea8c1bf8ed9">More...</a><br/></td></tr>
<tr class="separator:ga2002c7351a5cac41c7a0bea8c1bf8ed9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3466d6c88ad459aef56d2d686ff077c8"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ufspsxc.html#ga3466d6c88ad459aef56d2d686ff077c8">XUfsPsxc_SendUICCmd</a> (const <a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *InstancePtr, <a class="el" href="struct_x_ufs_psxc___uic_cmd.html">XUfsPsxc_UicCmd</a> *UicCmdPtr)</td></tr>
<tr class="memdesc:ga3466d6c88ad459aef56d2d686ff077c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send UIC Command.  <a href="#ga3466d6c88ad459aef56d2d686ff077c8">More...</a><br/></td></tr>
<tr class="separator:ga3466d6c88ad459aef56d2d686ff077c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9d2af8ff970bc14578e9b35d1969d460"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ufspsxc.html#ga9d2af8ff970bc14578e9b35d1969d460">XUfsPsxc_SetHce</a> (const <a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *InstancePtr, u32 Value)</td></tr>
<tr class="memdesc:ga9d2af8ff970bc14578e9b35d1969d460"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform the Host Controller Enable/Disable.  <a href="#ga9d2af8ff970bc14578e9b35d1969d460">More...</a><br/></td></tr>
<tr class="separator:ga9d2af8ff970bc14578e9b35d1969d460"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga033076869a57d47e1742f555bb6a0276"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ufspsxc.html#ga033076869a57d47e1742f555bb6a0276">XUfsPsxc_FillNopOutUpiu</a> (<a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *InstancePtr, XUfsPsxc_Xfer_CmdDesc *CmdDescPtr)</td></tr>
<tr class="memdesc:ga033076869a57d47e1742f555bb6a0276"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API Fill the transfer request descriptor for NOP-OUT UPIU.  <a href="#ga033076869a57d47e1742f555bb6a0276">More...</a><br/></td></tr>
<tr class="separator:ga033076869a57d47e1742f555bb6a0276"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafd68bf712ad71a509ba5e9715d8b2827"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ufspsxc.html#gafd68bf712ad71a509ba5e9715d8b2827">XUfsPsxc_FillTestUnitRdyUpiu</a> (<a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *InstancePtr, XUfsPsxc_Xfer_CmdDesc *CmdDescPtr)</td></tr>
<tr class="memdesc:gafd68bf712ad71a509ba5e9715d8b2827"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API Fill the transfer request descriptor for TEST UNIT READY Command.  <a href="#gafd68bf712ad71a509ba5e9715d8b2827">More...</a><br/></td></tr>
<tr class="separator:gafd68bf712ad71a509ba5e9715d8b2827"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga12ee1bec882160b1a0f4d273ad4af0e3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ufspsxc.html#ga12ee1bec882160b1a0f4d273ad4af0e3">XUfsPsxc_FillReadCmdUpiu</a> (<a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *InstancePtr, XUfsPsxc_Xfer_CmdDesc *CmdDescPtr, u64 Address, u32 BlkCnt, const u8 *Buff)</td></tr>
<tr class="memdesc:ga12ee1bec882160b1a0f4d273ad4af0e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API Fill the transfer request descriptor for READ Command.  <a href="#ga12ee1bec882160b1a0f4d273ad4af0e3">More...</a><br/></td></tr>
<tr class="separator:ga12ee1bec882160b1a0f4d273ad4af0e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5c93689c07193dfa1a85d9b093596b0e"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ufspsxc.html#ga5c93689c07193dfa1a85d9b093596b0e">XUfsPsxc_ProcessUpiu</a> (const <a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *InstancePtr, const XUfsPsxc_Xfer_CmdDesc *CmdDescPtr)</td></tr>
<tr class="memdesc:ga5c93689c07193dfa1a85d9b093596b0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API send the UPIU to the UFS device.  <a href="#ga5c93689c07193dfa1a85d9b093596b0e">More...</a><br/></td></tr>
<tr class="separator:ga5c93689c07193dfa1a85d9b093596b0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4f01785053f7c891ffceab509d137b1e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ufspsxc.html#ga4f01785053f7c891ffceab509d137b1e">XUfsPsxc_FillFlagUpiu</a> (<a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *InstancePtr, XUfsPsxc_Xfer_CmdDesc *CmdDescPtr, u32 IsRead, u32 FlagIDn)</td></tr>
<tr class="memdesc:ga4f01785053f7c891ffceab509d137b1e"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API Fill the transfer request descriptor for READ/SET FLAG Command.  <a href="#ga4f01785053f7c891ffceab509d137b1e">More...</a><br/></td></tr>
<tr class="separator:ga4f01785053f7c891ffceab509d137b1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac6c05905f6fcef83ac0da3b72887164b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ufspsxc.html#gac6c05905f6fcef83ac0da3b72887164b">XUfsPsxc_FillDescUpiu</a> (<a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *InstancePtr, XUfsPsxc_Xfer_CmdDesc *CmdDescPtr, u32 Tsf_DW0, u32 IsRead, u32 Length)</td></tr>
<tr class="memdesc:gac6c05905f6fcef83ac0da3b72887164b"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API Fill the transfer request descriptor for read or write Descriptor Command.  <a href="#gac6c05905f6fcef83ac0da3b72887164b">More...</a><br/></td></tr>
<tr class="separator:gac6c05905f6fcef83ac0da3b72887164b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga88763b7077bb9b4880c84156663dc1cb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ufspsxc.html#ga88763b7077bb9b4880c84156663dc1cb">XUfsPsxc_FillAttrUpiu</a> (<a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *InstancePtr, XUfsPsxc_Xfer_CmdDesc *CmdDescPtr, u32 IsRead, u32 AttrIDn, u32 Value)</td></tr>
<tr class="memdesc:ga88763b7077bb9b4880c84156663dc1cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API Fill the transfer request descriptor for read or write Attribute Command.  <a href="#ga88763b7077bb9b4880c84156663dc1cb">More...</a><br/></td></tr>
<tr class="separator:ga88763b7077bb9b4880c84156663dc1cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae0db9d094adbe197913f6c107e0f02ef"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ufspsxc.html#gae0db9d094adbe197913f6c107e0f02ef">XUfsPsxc_HostInitialize</a> (<a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *InstancePtr)</td></tr>
<tr class="memdesc:gae0db9d094adbe197913f6c107e0f02ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the Host Controller.  <a href="#gae0db9d094adbe197913f6c107e0f02ef">More...</a><br/></td></tr>
<tr class="separator:gae0db9d094adbe197913f6c107e0f02ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafa5f97c1a585f348eb57d7cfa82b5080"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ufspsxc.html#gafa5f97c1a585f348eb57d7cfa82b5080">XUfsPsxc_CardInitialize</a> (<a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *InstancePtr, XUfsPsxc_Xfer_CmdDesc *CmdDescPtr)</td></tr>
<tr class="memdesc:gafa5f97c1a585f348eb57d7cfa82b5080"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API Partially Initialize the UFS device.  <a href="#gafa5f97c1a585f348eb57d7cfa82b5080">More...</a><br/></td></tr>
<tr class="separator:gafa5f97c1a585f348eb57d7cfa82b5080"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga353f784dcc8a50185ea407bc0dcb4768"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ufspsxc.html#ga353f784dcc8a50185ea407bc0dcb4768">XUfsPsxc_GetLUNInfo</a> (<a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *InstancePtr, XUfsPsxc_Xfer_CmdDesc *CmdDescPtr)</td></tr>
<tr class="memdesc:ga353f784dcc8a50185ea407bc0dcb4768"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API update the Logical Unit information structure by reading the configuration descriptor.  <a href="#ga353f784dcc8a50185ea407bc0dcb4768">More...</a><br/></td></tr>
<tr class="separator:ga353f784dcc8a50185ea407bc0dcb4768"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga506adfb0eda2bedee784c7abee535397"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ufspsxc.html#ga506adfb0eda2bedee784c7abee535397">XUfsPsxc_WritePhyReg</a> (const <a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *InstancePtr, <a class="el" href="struct_x_ufs_psxc___uic_cmd.html">XUfsPsxc_UicCmd</a> *UicCmdPtr, u32 Address, u32 Value)</td></tr>
<tr class="memdesc:ga506adfb0eda2bedee784c7abee535397"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API does PHY register write with the required sequence.  <a href="#ga506adfb0eda2bedee784c7abee535397">More...</a><br/></td></tr>
<tr class="separator:ga506adfb0eda2bedee784c7abee535397"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga35add787c05c073b7b1a404d54425f78"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ufspsxc.html#ga35add787c05c073b7b1a404d54425f78">XUfsPsxc_ReadPhyReg</a> (const <a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *InstancePtr, <a class="el" href="struct_x_ufs_psxc___uic_cmd.html">XUfsPsxc_UicCmd</a> *UicCmdPtr, u32 Address, u32 *Value)</td></tr>
<tr class="memdesc:ga35add787c05c073b7b1a404d54425f78"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API does PHY register read with the required sequence.  <a href="#ga35add787c05c073b7b1a404d54425f78">More...</a><br/></td></tr>
<tr class="separator:ga35add787c05c073b7b1a404d54425f78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga13fea34df11f07626308ad42623497ff"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ufspsxc.html#ga13fea34df11f07626308ad42623497ff">XUfsPsxc_Set4KBlkSize</a> (<a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *InstancePtr, XUfsPsxc_Xfer_CmdDesc *CmdDescPtr)</td></tr>
<tr class="memdesc:ga13fea34df11f07626308ad42623497ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API set the block size to 4K for Boot LUN.  <a href="#ga13fea34df11f07626308ad42623497ff">More...</a><br/></td></tr>
<tr class="separator:ga13fea34df11f07626308ad42623497ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2c5da410d2eefa54129eb56efb13bc3f"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ufspsxc.html#ga2c5da410d2eefa54129eb56efb13bc3f">XUfsPsxc_PhyInit</a> (const <a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga2c5da410d2eefa54129eb56efb13bc3f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API does PHY Initialization sequence.  <a href="#ga2c5da410d2eefa54129eb56efb13bc3f">More...</a><br/></td></tr>
<tr class="separator:ga2c5da410d2eefa54129eb56efb13bc3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga186554489b15b12e4d3e6d07669f317f"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ufspsxc.html#ga186554489b15b12e4d3e6d07669f317f">XUfsPsxc_SetRmmiConfig</a> (const <a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga186554489b15b12e4d3e6d07669f317f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API setup RMMI configurations.  <a href="#ga186554489b15b12e4d3e6d07669f317f">More...</a><br/></td></tr>
<tr class="separator:ga186554489b15b12e4d3e6d07669f317f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga46c30f50e646ad1e1a080ef88b80eb70"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ufspsxc.html#ga46c30f50e646ad1e1a080ef88b80eb70">XUfsPsxc_EnableMPhy</a> (const <a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga46c30f50e646ad1e1a080ef88b80eb70"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API enable the MPHY and wait for Rx/Tx busy de-assertion.  <a href="#ga46c30f50e646ad1e1a080ef88b80eb70">More...</a><br/></td></tr>
<tr class="separator:ga46c30f50e646ad1e1a080ef88b80eb70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9d5217db85b9198686faa9f2dabd07b4"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ufspsxc.html#ga9d5217db85b9198686faa9f2dabd07b4">XUfsPsxc_ConfigureTxRxAttributes</a> (const <a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *InstancePtr, u32 SpeedGear, u32 RxTermCap, u32 TxTermCap)</td></tr>
<tr class="memdesc:ga9d5217db85b9198686faa9f2dabd07b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API Configures the Tx/Rx Attributes.  <a href="#ga9d5217db85b9198686faa9f2dabd07b4">More...</a><br/></td></tr>
<tr class="separator:ga9d5217db85b9198686faa9f2dabd07b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga029d0b5ef73c6cd4daaf455d82afbd57"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ufspsxc.html#ga029d0b5ef73c6cd4daaf455d82afbd57">XUfsPsxc_ReadDeviceInfo</a> (<a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *InstancePtr, XUfsPsxc_Xfer_CmdDesc *CmdDescPtr)</td></tr>
<tr class="memdesc:ga029d0b5ef73c6cd4daaf455d82afbd57"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API read the UFS device information.  <a href="#ga029d0b5ef73c6cd4daaf455d82afbd57">More...</a><br/></td></tr>
<tr class="separator:ga029d0b5ef73c6cd4daaf455d82afbd57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3c13cdebf8362d85f77b3b15fe52d2c3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ufspsxc.html#ga3c13cdebf8362d85f77b3b15fe52d2c3">XUfsPsxc_FillWriteCmdUpiu</a> (<a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *InstancePtr, XUfsPsxc_Xfer_CmdDesc *CmdDescPtr, u64 Address, u32 BlkCnt, const u8 *Buff)</td></tr>
<tr class="memdesc:ga3c13cdebf8362d85f77b3b15fe52d2c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API Fill the transfer request descriptor for WRITE Command.  <a href="#ga3c13cdebf8362d85f77b3b15fe52d2c3">More...</a><br/></td></tr>
<tr class="separator:ga3c13cdebf8362d85f77b3b15fe52d2c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="ga7587500eda2c906e138f1c6993ac9ce4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUFSPSXC_H_</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>&lt; prevent circular inclusions </p>
<p>by using protection macros </p>

</div>
</div>
<a class="anchor" id="ga281e93b3445e60af8166923832e56789"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUFSPSXC_LOWLEVEL_H_</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>&lt; prevent circular inclusions </p>
<p>by using protection macros </p>

</div>
</div>
<a class="anchor" id="ga5f89f5e1828c893eaeadf6ff46bfcdff"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XUFSPSXC_SCSI_GOOD&#160;&#160;&#160;0x0U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>&lt; UPIU(SCSI) 8-bits [7:0] </p>

<p>Referenced by <a class="el" href="group__ufspsxc.html#ga5c93689c07193dfa1a85d9b093596b0e">XUfsPsxc_ProcessUpiu()</a>, <a class="el" href="group__ufspsxc.html#ga7c68d7e7d43d9d3f3c327c4ea3d58dd6">XUfsPsxc_ReadPolled()</a>, and <a class="el" href="group__ufspsxc.html#ga5b503a6cef357e029c87ab07e4354763">XUfsPsxc_WritePolled()</a>.</p>

</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="ga358627c7291aa1c97a2a81ab7be587d5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__ufspsxc.html#ga358627c7291aa1c97a2a81ab7be587d5">Error_Bits_11_8</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>&lt; 4-bits [11:8] </p>

</div>
</div>
<a class="anchor" id="gac10a0fb90e2574aa38c359a72524f80d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__ufspsxc.html#gac10a0fb90e2574aa38c359a72524f80d">Error_Bits_15_12</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>&lt; 4-bits [15:12] </p>

</div>
</div>
<a class="anchor" id="ga7df93570352daee686d57ffd03e2e0d8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__ufspsxc.html#ga7df93570352daee686d57ffd03e2e0d8">Ocs</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>&lt; UPIU(OCS) 8-bits [7:0] </p>

</div>
</div>
<a class="anchor" id="ga6050c15a8236cc68cd98be6b9c67088e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__ufspsxc.html#ga6050c15a8236cc68cd98be6b9c67088e">Qry_Error_Bits_7_0</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>&lt; UPIU(QUERY) 8-bits [7:0] </p>

</div>
</div>
<a class="anchor" id="ga8d145f1df3782d4aec229a4c480121b0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__ufspsxc.html#ga8d145f1df3782d4aec229a4c480121b0">Uic_Cfg_Codes</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>&lt; UIC CFG 8-bits [7:0] </p>

</div>
</div>
<a class="anchor" id="gabc2d272c18b8295189bd8f3582f99155"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__ufspsxc.html#gabc2d272c18b8295189bd8f3582f99155">Uic_Ctrl_Codes</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>&lt; UIC CTRL 8-bits [7:0] </p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="gafa5f97c1a585f348eb57d7cfa82b5080"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XUfsPsxc_CardInitialize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XUfsPsxc_Xfer_CmdDesc *&#160;</td>
          <td class="paramname"><em>CmdDescPtr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This API Partially Initialize the UFS device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_ufs_psxc.html" title="The XUfsPsxc driver instance data. ">XUfsPsxc</a> instance. </td></tr>
    <tr><td class="paramname">CmdDescPtr</td><td>is a pointer to the XUfsPsxc_Xfer_CmdDesc instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XUFSPSXC_SUCCESS, XUFSPSXC_FAILURE. </dd></dl>

<p>References <a class="el" href="group__ufspsxc.html#ga4f01785053f7c891ffceab509d137b1e">XUfsPsxc_FillFlagUpiu()</a>, <a class="el" href="group__ufspsxc.html#ga033076869a57d47e1742f555bb6a0276">XUfsPsxc_FillNopOutUpiu()</a>, and <a class="el" href="group__ufspsxc.html#ga5c93689c07193dfa1a85d9b093596b0e">XUfsPsxc_ProcessUpiu()</a>.</p>

<p>Referenced by <a class="el" href="group__ufspsxc.html#ga615ad820fd1faa16ebd1ad620f2837e5">XUfsPsxc_Initialize()</a>.</p>

</div>
</div>
<a class="anchor" id="gaa67843f95526f7c11553c1f125004374"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XUfsPsxc_CfgInitialize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="struct_x_ufs_psxc___config.html">XUfsPsxc_Config</a> *&#160;</td>
          <td class="paramname"><em>ConfigPtr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initializes a specific <a class="el" href="struct_x_ufs_psxc.html" title="The XUfsPsxc driver instance data. ">XUfsPsxc</a> instance such that the driver is ready to use. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_ufs_psxc.html" title="The XUfsPsxc driver instance data. ">XUfsPsxc</a> instance. </td></tr>
    <tr><td class="paramname">ConfigPtr</td><td>is a reference to a structure containing information about a specific UFSPSXC device. This function initializes an InstancePtr object for a specific device specified by the contents of Config.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>

<p>References <a class="el" href="struct_x_ufs_psxc___config.html#a4a3f9ad972b6dcab5ae62033e59571a1">XUfsPsxc_Config::BaseAddress</a>, <a class="el" href="struct_x_ufs_psxc___config.html#a9e08ed8c5c8ba0b3b67ce267134a9ee4">XUfsPsxc_Config::CfgClkFreqHz</a>, <a class="el" href="struct_x_ufs_psxc___config.html#ab6fd32d5fd25f5b32edf2b4f69875e67">XUfsPsxc_Config::InputClockHz</a>, <a class="el" href="struct_x_ufs_psxc___config.html#a9ca68c44716762c73f53c17f35cf7eea">XUfsPsxc_Config::IsCacheCoherent</a>, and <a class="el" href="struct_x_ufs_psxc___config.html#ac3e9e067157d1afa16f87784578dd1f9">XUfsPsxc_Config::RefPadClk</a>.</p>

<p>Referenced by <a class="el" href="xufspsxc__setluncfg__example_8c.html#ab437da67678433c70e4de04e512d6ba1">UfsPsxcRawTest()</a>.</p>

</div>
</div>
<a class="anchor" id="ga1e4078f7061f73d5ccd64eafe59c13ee"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XUfsPsxc_CheckBootReq </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This API check boot requirements like BootEnable and bBootLunEn. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_ufs_psxc.html" title="The XUfsPsxc driver instance data. ">XUfsPsxc</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XUFSPSXC_SUCCESS or ERROR_CODE. </dd></dl>

<p>References <a class="el" href="group__ufspsxc.html#ga13fea34df11f07626308ad42623497ff">XUfsPsxc_Set4KBlkSize()</a>.</p>

</div>
</div>
<a class="anchor" id="ga76dd7620ac6f336d4a9aaa5108e009d6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XUfsPsxc_ConfigureSpeedGear </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>SpeedGear</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This API Configures the Power Mode. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_ufs_psxc.html" title="The XUfsPsxc driver instance data. ">XUfsPsxc</a> instance. </td></tr>
    <tr><td class="paramname">SpeedGear</td><td>is the Power Mode value to be set. Refer XUFSPSXC_PWM_* XUFSPSXC_HS_* macros in <a class="el" href="xufspsxc_8h.html">xufspsxc.h</a> file.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XUFSPSXC_SUCCESS or ERROR_CODE. </dd></dl>

<p>References <a class="el" href="group__ufspsxc.html#ga9d5217db85b9198686faa9f2dabd07b4">XUfsPsxc_ConfigureTxRxAttributes()</a>.</p>

</div>
</div>
<a class="anchor" id="ga9d5217db85b9198686faa9f2dabd07b4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XUfsPsxc_ConfigureTxRxAttributes </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>SpeedGear</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>RxTermCap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>TxTermCap</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This API Configures the Tx/Rx Attributes. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_ufs_psxc.html" title="The XUfsPsxc driver instance data. ">XUfsPsxc</a> instance. </td></tr>
    <tr><td class="paramname">SpeedGear</td><td>is the Power Mode value to be set. </td></tr>
    <tr><td class="paramname">RxTermCap</td><td>is the Rx Termination Capability. </td></tr>
    <tr><td class="paramname">TxTermCap</td><td>is the Tx Termination Capability.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XUFSPSXC_SUCCESS or Error codes. </dd></dl>

<p>References <a class="el" href="group__ufspsxc.html#ga3466d6c88ad459aef56d2d686ff077c8">XUfsPsxc_SendUICCmd()</a>.</p>

<p>Referenced by <a class="el" href="group__ufspsxc.html#ga76dd7620ac6f336d4a9aaa5108e009d6">XUfsPsxc_ConfigureSpeedGear()</a>.</p>

</div>
</div>
<a class="anchor" id="ga46c30f50e646ad1e1a080ef88b80eb70"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XUfsPsxc_EnableMPhy </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This API enable the MPHY and wait for Rx/Tx busy de-assertion. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_ufs_psxc.html" title="The XUfsPsxc driver instance data. ">XUfsPsxc</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XUFSPSXC_SUCCESS or Error codes. </dd></dl>

<p>References <a class="el" href="group__ufspsxc.html#ga3466d6c88ad459aef56d2d686ff077c8">XUfsPsxc_SendUICCmd()</a>.</p>

<p>Referenced by <a class="el" href="group__ufspsxc.html#ga2c5da410d2eefa54129eb56efb13bc3f">XUfsPsxc_PhyInit()</a>.</p>

</div>
</div>
<a class="anchor" id="ga88763b7077bb9b4880c84156663dc1cb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XUfsPsxc_FillAttrUpiu </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XUfsPsxc_Xfer_CmdDesc *&#160;</td>
          <td class="paramname"><em>CmdDescPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>IsRead</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>AttrIDn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This API Fill the transfer request descriptor for read or write Attribute Command. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_ufs_psxc.html" title="The XUfsPsxc driver instance data. ">XUfsPsxc</a> instance. </td></tr>
    <tr><td class="paramname">CmdDescPtr</td><td>is a pointer to the XUfsPsxc_Xfer_CmdDesc instance. </td></tr>
    <tr><td class="paramname">IsRead</td><td>is a flag to indicate whether the operation is read or write descriptor. </td></tr>
    <tr><td class="paramname">AttrIDn</td><td>is a Attribute Identification number. </td></tr>
    <tr><td class="paramname">Value</td><td>is value to be written to the attributes.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None. </dd></dl>

<p>Referenced by <a class="el" href="group__ufspsxc.html#ga353f784dcc8a50185ea407bc0dcb4768">XUfsPsxc_GetLUNInfo()</a>, and <a class="el" href="group__ufspsxc.html#ga6e5ad67b7055e0c5174028c2bdd464c0">XUfsPsxc_SwitchBootLUN()</a>.</p>

</div>
</div>
<a class="anchor" id="gac6c05905f6fcef83ac0da3b72887164b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XUfsPsxc_FillDescUpiu </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XUfsPsxc_Xfer_CmdDesc *&#160;</td>
          <td class="paramname"><em>CmdDescPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Tsf_DW0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>IsRead</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Length</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This API Fill the transfer request descriptor for read or write Descriptor Command. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_ufs_psxc.html" title="The XUfsPsxc driver instance data. ">XUfsPsxc</a> instance. </td></tr>
    <tr><td class="paramname">CmdDescPtr</td><td>is a pointer to the XUfsPsxc_Xfer_CmdDesc instance. </td></tr>
    <tr><td class="paramname">Tsf_DW0</td><td>contains information about Description identification Number(3rd byte), Index(2nd byte) and Selector(1st byte). </td></tr>
    <tr><td class="paramname">IsRead</td><td>is a flag to indicate whether the operation is read or write descriptor. </td></tr>
    <tr><td class="paramname">Length</td><td>is the number of bytes to read the descriptor.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None. </dd></dl>

<p>Referenced by <a class="el" href="group__ufspsxc.html#ga353f784dcc8a50185ea407bc0dcb4768">XUfsPsxc_GetLUNInfo()</a>, <a class="el" href="group__ufspsxc.html#ga029d0b5ef73c6cd4daaf455d82afbd57">XUfsPsxc_ReadDeviceInfo()</a>, and <a class="el" href="group__ufspsxc.html#ga13fea34df11f07626308ad42623497ff">XUfsPsxc_Set4KBlkSize()</a>.</p>

</div>
</div>
<a class="anchor" id="ga4f01785053f7c891ffceab509d137b1e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XUfsPsxc_FillFlagUpiu </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XUfsPsxc_Xfer_CmdDesc *&#160;</td>
          <td class="paramname"><em>CmdDescPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>IsRead</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>FlagIDn</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This API Fill the transfer request descriptor for READ/SET FLAG Command. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_ufs_psxc.html" title="The XUfsPsxc driver instance data. ">XUfsPsxc</a> instance. </td></tr>
    <tr><td class="paramname">CmdDescPtr</td><td>is a pointer to the XUfsPsxc_Xfer_CmdDesc instance. </td></tr>
    <tr><td class="paramname">IsRead</td><td>is a flag to indicate whether the operation is read or write. </td></tr>
    <tr><td class="paramname">FlagIDn</td><td>is a Flag Identification number.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None. </dd></dl>

<p>Referenced by <a class="el" href="group__ufspsxc.html#gafa5f97c1a585f348eb57d7cfa82b5080">XUfsPsxc_CardInitialize()</a>.</p>

</div>
</div>
<a class="anchor" id="ga033076869a57d47e1742f555bb6a0276"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XUfsPsxc_FillNopOutUpiu </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XUfsPsxc_Xfer_CmdDesc *&#160;</td>
          <td class="paramname"><em>CmdDescPtr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This API Fill the transfer request descriptor for NOP-OUT UPIU. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_ufs_psxc.html" title="The XUfsPsxc driver instance data. ">XUfsPsxc</a> instance. </td></tr>
    <tr><td class="paramname">CmdDescPtr</td><td>is a pointer to the XUfsPsxc_Xfer_CmdDesc instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None. </dd></dl>

<p>Referenced by <a class="el" href="group__ufspsxc.html#gafa5f97c1a585f348eb57d7cfa82b5080">XUfsPsxc_CardInitialize()</a>.</p>

</div>
</div>
<a class="anchor" id="ga12ee1bec882160b1a0f4d273ad4af0e3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XUfsPsxc_FillReadCmdUpiu </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XUfsPsxc_Xfer_CmdDesc *&#160;</td>
          <td class="paramname"><em>CmdDescPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u64&#160;</td>
          <td class="paramname"><em>Address</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>BlkCnt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u8 *&#160;</td>
          <td class="paramname"><em>Buff</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This API Fill the transfer request descriptor for READ Command. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_ufs_psxc.html" title="The XUfsPsxc driver instance data. ">XUfsPsxc</a> instance. </td></tr>
    <tr><td class="paramname">CmdDescPtr</td><td>is a pointer to the XUfsPsxc_Xfer_CmdDesc instance. </td></tr>
    <tr><td class="paramname">Address</td><td>specifies the first logical block accessed by this command. </td></tr>
    <tr><td class="paramname">BlkCnt</td><td>is the number of blocks to be read. </td></tr>
    <tr><td class="paramname">Buff</td><td>is a pointer to the destination data buffer.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None. </dd></dl>

<p>Referenced by <a class="el" href="group__ufspsxc.html#ga7c68d7e7d43d9d3f3c327c4ea3d58dd6">XUfsPsxc_ReadPolled()</a>.</p>

</div>
</div>
<a class="anchor" id="gafd68bf712ad71a509ba5e9715d8b2827"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XUfsPsxc_FillTestUnitRdyUpiu </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XUfsPsxc_Xfer_CmdDesc *&#160;</td>
          <td class="paramname"><em>CmdDescPtr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This API Fill the transfer request descriptor for TEST UNIT READY Command. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_ufs_psxc.html" title="The XUfsPsxc driver instance data. ">XUfsPsxc</a> instance. </td></tr>
    <tr><td class="paramname">CmdDescPtr</td><td>is a pointer to the XUfsPsxc_Xfer_CmdDesc instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None. </dd></dl>

<p>Referenced by <a class="el" href="group__ufspsxc.html#ga7c68d7e7d43d9d3f3c327c4ea3d58dd6">XUfsPsxc_ReadPolled()</a>, and <a class="el" href="group__ufspsxc.html#ga5b503a6cef357e029c87ab07e4354763">XUfsPsxc_WritePolled()</a>.</p>

</div>
</div>
<a class="anchor" id="ga3c13cdebf8362d85f77b3b15fe52d2c3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XUfsPsxc_FillWriteCmdUpiu </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XUfsPsxc_Xfer_CmdDesc *&#160;</td>
          <td class="paramname"><em>CmdDescPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u64&#160;</td>
          <td class="paramname"><em>Address</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>BlkCnt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u8 *&#160;</td>
          <td class="paramname"><em>Buff</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This API Fill the transfer request descriptor for WRITE Command. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_ufs_psxc.html" title="The XUfsPsxc driver instance data. ">XUfsPsxc</a> instance. </td></tr>
    <tr><td class="paramname">CmdDescPtr</td><td>is a pointer to the XUfsPsxc_Xfer_CmdDesc instance. </td></tr>
    <tr><td class="paramname">Address</td><td>specifies the first logical block accessed by this command. </td></tr>
    <tr><td class="paramname">BlkCnt</td><td>is the number of blocks to write. </td></tr>
    <tr><td class="paramname">Buff</td><td>is a pointer to the destination data buffer.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None. </dd></dl>

<p>Referenced by <a class="el" href="group__ufspsxc.html#ga5b503a6cef357e029c87ab07e4354763">XUfsPsxc_WritePolled()</a>.</p>

</div>
</div>
<a class="anchor" id="ga353f784dcc8a50185ea407bc0dcb4768"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XUfsPsxc_GetLUNInfo </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XUfsPsxc_Xfer_CmdDesc *&#160;</td>
          <td class="paramname"><em>CmdDescPtr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This API update the Logical Unit information structure by reading the configuration descriptor. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_ufs_psxc.html" title="The XUfsPsxc driver instance data. ">XUfsPsxc</a> instance. </td></tr>
    <tr><td class="paramname">CmdDescPtr</td><td>is a pointer to the XUfsPsxc_Xfer_CmdDesc instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XUFSPSXC_SUCCESS, XUFSPSXC_FAILURE. </dd></dl>

<p>References <a class="el" href="group__ufspsxc.html#ga88763b7077bb9b4880c84156663dc1cb">XUfsPsxc_FillAttrUpiu()</a>, <a class="el" href="group__ufspsxc.html#gac6c05905f6fcef83ac0da3b72887164b">XUfsPsxc_FillDescUpiu()</a>, and <a class="el" href="group__ufspsxc.html#ga5c93689c07193dfa1a85d9b093596b0e">XUfsPsxc_ProcessUpiu()</a>.</p>

<p>Referenced by <a class="el" href="group__ufspsxc.html#ga615ad820fd1faa16ebd1ad620f2837e5">XUfsPsxc_Initialize()</a>.</p>

</div>
</div>
<a class="anchor" id="gae0db9d094adbe197913f6c107e0f02ef"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XUfsPsxc_HostInitialize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initializes the Host Controller. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_ufs_psxc.html" title="The XUfsPsxc driver instance data. ">XUfsPsxc</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XUFSPSXC_SUCCESS, XUFSPSXC_FAILURE, UIC Error Codes in <a class="el" href="xufspsxc_8h.html">xufspsxc.h</a> file. </dd></dl>

<p>References <a class="el" href="group__ufspsxc.html#ga2c5da410d2eefa54129eb56efb13bc3f">XUfsPsxc_PhyInit()</a>, <a class="el" href="group__ufspsxc.html#ga3466d6c88ad459aef56d2d686ff077c8">XUfsPsxc_SendUICCmd()</a>, and <a class="el" href="group__ufspsxc.html#ga9d2af8ff970bc14578e9b35d1969d460">XUfsPsxc_SetHce()</a>.</p>

<p>Referenced by <a class="el" href="group__ufspsxc.html#ga615ad820fd1faa16ebd1ad620f2837e5">XUfsPsxc_Initialize()</a>.</p>

</div>
</div>
<a class="anchor" id="ga615ad820fd1faa16ebd1ad620f2837e5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XUfsPsxc_Initialize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initializes the Host Controller and UFS device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_ufs_psxc.html" title="The XUfsPsxc driver instance data. ">XUfsPsxc</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XUFSPSXC_SUCCESS, XUFSPSXC_FAILURE, UIC Error Codes in <a class="el" href="xufspsxc_8h.html">xufspsxc.h</a> file. </dd></dl>

<p>References <a class="el" href="group__ufspsxc.html#gafa5f97c1a585f348eb57d7cfa82b5080">XUfsPsxc_CardInitialize()</a>, <a class="el" href="group__ufspsxc.html#ga353f784dcc8a50185ea407bc0dcb4768">XUfsPsxc_GetLUNInfo()</a>, <a class="el" href="group__ufspsxc.html#gae0db9d094adbe197913f6c107e0f02ef">XUfsPsxc_HostInitialize()</a>, and <a class="el" href="group__ufspsxc.html#ga029d0b5ef73c6cd4daaf455d82afbd57">XUfsPsxc_ReadDeviceInfo()</a>.</p>

<p>Referenced by <a class="el" href="xufspsxc__setluncfg__example_8c.html#ab437da67678433c70e4de04e512d6ba1">UfsPsxcRawTest()</a>.</p>

</div>
</div>
<a class="anchor" id="ga2002c7351a5cac41c7a0bea8c1bf8ed9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_x_ufs_psxc___config.html">XUfsPsxc_Config</a> * XUfsPsxc_LookupConfig </td>
          <td>(</td>
          <td class="paramtype">UINTPTR&#160;</td>
          <td class="paramname"><em>BaseAddress</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Looks up the device configuration based on the unique device ID. </p>
<p>A table contains the configuration info for each device in the system.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">BaseAddress</td><td>contains the BaseAddress of the device to look up the configuration for.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A pointer to the configuration found or NULL if the specified device ID was not found. See XUfsPsxc.h for the definition of <a class="el" href="struct_x_ufs_psxc___config.html" title="This typedef contains configuration information for the device. ">XUfsPsxc_Config</a>. </dd></dl>

<p>References <a class="el" href="struct_x_ufs_psxc___config.html#a39490cc28ba952f3bef5aa832f3c27e0">XUfsPsxc_Config::Name</a>.</p>

<p>Referenced by <a class="el" href="xufspsxc__setluncfg__example_8c.html#ab437da67678433c70e4de04e512d6ba1">UfsPsxcRawTest()</a>.</p>

</div>
</div>
<a class="anchor" id="ga2c5da410d2eefa54129eb56efb13bc3f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XUfsPsxc_PhyInit </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This API does PHY Initialization sequence. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_ufs_psxc.html" title="The XUfsPsxc driver instance data. ">XUfsPsxc</a> instance. </td></tr>
    <tr><td class="paramname">UicCmdPtr</td><td>is a pointer to the <a class="el" href="struct_x_ufs_psxc___uic_cmd.html" title="UIC Command Structure. ">XUfsPsxc_UicCmd</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XUFSPSXC_SUCCESS or Error codes. </dd></dl>

<p>References <a class="el" href="group__ufspsxc.html#ga46c30f50e646ad1e1a080ef88b80eb70">XUfsPsxc_EnableMPhy()</a>, <a class="el" href="group__ufspsxc.html#ga35add787c05c073b7b1a404d54425f78">XUfsPsxc_ReadPhyReg()</a>, <a class="el" href="group__ufspsxc.html#ga186554489b15b12e4d3e6d07669f317f">XUfsPsxc_SetRmmiConfig()</a>, and <a class="el" href="group__ufspsxc.html#ga506adfb0eda2bedee784c7abee535397">XUfsPsxc_WritePhyReg()</a>.</p>

<p>Referenced by <a class="el" href="group__ufspsxc.html#gae0db9d094adbe197913f6c107e0f02ef">XUfsPsxc_HostInitialize()</a>.</p>

</div>
</div>
<a class="anchor" id="ga5c93689c07193dfa1a85d9b093596b0e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XUfsPsxc_ProcessUpiu </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const XUfsPsxc_Xfer_CmdDesc *&#160;</td>
          <td class="paramname"><em>CmdDescPtr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This API send the UPIU to the UFS device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_ufs_psxc.html" title="The XUfsPsxc driver instance data. ">XUfsPsxc</a> instance. </td></tr>
    <tr><td class="paramname">CmdDescPtr</td><td>is a pointer to the XUfsPsxc_Xfer_CmdDesc instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Refer OCS in <a class="el" href="xufspsxc_8h.html">xufspsxc.h</a> file, XUFSPSXC_FAILURE </dd></dl>

<p>References <a class="el" href="group__ufspsxc.html#ga5f89f5e1828c893eaeadf6ff46bfcdff">XUFSPSXC_SCSI_GOOD</a>.</p>

<p>Referenced by <a class="el" href="group__ufspsxc.html#gafa5f97c1a585f348eb57d7cfa82b5080">XUfsPsxc_CardInitialize()</a>, <a class="el" href="group__ufspsxc.html#ga353f784dcc8a50185ea407bc0dcb4768">XUfsPsxc_GetLUNInfo()</a>, <a class="el" href="group__ufspsxc.html#ga029d0b5ef73c6cd4daaf455d82afbd57">XUfsPsxc_ReadDeviceInfo()</a>, <a class="el" href="group__ufspsxc.html#ga7c68d7e7d43d9d3f3c327c4ea3d58dd6">XUfsPsxc_ReadPolled()</a>, <a class="el" href="group__ufspsxc.html#ga13fea34df11f07626308ad42623497ff">XUfsPsxc_Set4KBlkSize()</a>, <a class="el" href="group__ufspsxc.html#ga6e5ad67b7055e0c5174028c2bdd464c0">XUfsPsxc_SwitchBootLUN()</a>, and <a class="el" href="group__ufspsxc.html#ga5b503a6cef357e029c87ab07e4354763">XUfsPsxc_WritePolled()</a>.</p>

</div>
</div>
<a class="anchor" id="ga029d0b5ef73c6cd4daaf455d82afbd57"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XUfsPsxc_ReadDeviceInfo </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XUfsPsxc_Xfer_CmdDesc *&#160;</td>
          <td class="paramname"><em>CmdDescPtr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This API read the UFS device information. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_ufs_psxc.html" title="The XUfsPsxc driver instance data. ">XUfsPsxc</a> instance. </td></tr>
    <tr><td class="paramname">CmdDescPtr</td><td>is a pointer to the XUfsPsxc_Xfer_CmdDesc instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XUFSPSXC_SUCCESS, XUFSPSXC_FAILURE. </dd></dl>

<p>References <a class="el" href="group__ufspsxc.html#gac6c05905f6fcef83ac0da3b72887164b">XUfsPsxc_FillDescUpiu()</a>, and <a class="el" href="group__ufspsxc.html#ga5c93689c07193dfa1a85d9b093596b0e">XUfsPsxc_ProcessUpiu()</a>.</p>

<p>Referenced by <a class="el" href="group__ufspsxc.html#ga615ad820fd1faa16ebd1ad620f2837e5">XUfsPsxc_Initialize()</a>.</p>

</div>
</div>
<a class="anchor" id="ga35add787c05c073b7b1a404d54425f78"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XUfsPsxc_ReadPhyReg </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_x_ufs_psxc___uic_cmd.html">XUfsPsxc_UicCmd</a> *&#160;</td>
          <td class="paramname"><em>UicCmdPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Address</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32 *&#160;</td>
          <td class="paramname"><em>Value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This API does PHY register read with the required sequence. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_ufs_psxc.html" title="The XUfsPsxc driver instance data. ">XUfsPsxc</a> instance. </td></tr>
    <tr><td class="paramname">UicCmdPtr</td><td>is a pointer to the <a class="el" href="struct_x_ufs_psxc___uic_cmd.html" title="UIC Command Structure. ">XUfsPsxc_UicCmd</a> instance. </td></tr>
    <tr><td class="paramname">Address</td><td>is Address of the PHy register. </td></tr>
    <tr><td class="paramname">Value</td><td>is a pointer to store the PHY register data.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XUFSPSXC_SUCCESS or Error codes. </dd></dl>

<p>References <a class="el" href="group__ufspsxc.html#ga3466d6c88ad459aef56d2d686ff077c8">XUfsPsxc_SendUICCmd()</a>.</p>

<p>Referenced by <a class="el" href="group__ufspsxc.html#ga2c5da410d2eefa54129eb56efb13bc3f">XUfsPsxc_PhyInit()</a>.</p>

</div>
</div>
<a class="anchor" id="ga7c68d7e7d43d9d3f3c327c4ea3d58dd6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XUfsPsxc_ReadPolled </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Lun</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u64&#160;</td>
          <td class="paramname"><em>Address</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>BlkCnt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u8 *&#160;</td>
          <td class="paramname"><em>Buff</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This API perform the data read from the UFS device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_ufs_psxc.html" title="The XUfsPsxc driver instance data. ">XUfsPsxc</a> instance. </td></tr>
    <tr><td class="paramname">Lun</td><td>is a Logical Unit Number. </td></tr>
    <tr><td class="paramname">Address</td><td>is the starting Logical Unit number. </td></tr>
    <tr><td class="paramname">BlkCnt</td><td>is the number of blocks to be read. </td></tr>
    <tr><td class="paramname">Buff</td><td>is a pointer to the destination data buffer.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XUFSPSXC_SUCCESS, XUFSPSXC_FAILURE. </dd></dl>

<p>References <a class="el" href="group__ufspsxc.html#ga12ee1bec882160b1a0f4d273ad4af0e3">XUfsPsxc_FillReadCmdUpiu()</a>, <a class="el" href="group__ufspsxc.html#gafd68bf712ad71a509ba5e9715d8b2827">XUfsPsxc_FillTestUnitRdyUpiu()</a>, <a class="el" href="group__ufspsxc.html#ga5c93689c07193dfa1a85d9b093596b0e">XUfsPsxc_ProcessUpiu()</a>, and <a class="el" href="group__ufspsxc.html#ga5f89f5e1828c893eaeadf6ff46bfcdff">XUFSPSXC_SCSI_GOOD</a>.</p>

<p>Referenced by <a class="el" href="xufspsxc__setluncfg__example_8c.html#ab437da67678433c70e4de04e512d6ba1">UfsPsxcRawTest()</a>.</p>

</div>
</div>
<a class="anchor" id="ga3466d6c88ad459aef56d2d686ff077c8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XUfsPsxc_SendUICCmd </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_x_ufs_psxc___uic_cmd.html">XUfsPsxc_UicCmd</a> *&#160;</td>
          <td class="paramname"><em>UicCmdPtr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Send UIC Command. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_ufs_psxc.html" title="The XUfsPsxc driver instance data. ">XUfsPsxc</a> instance. </td></tr>
    <tr><td class="paramname">UicCmdPtr</td><td>is a pointer to the <a class="el" href="struct_x_ufs_psxc___uic_cmd.html" title="UIC Command Structure. ">XUfsPsxc_UicCmd</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Refer UIC Error Codes in <a class="el" href="xufspsxc_8h.html">xufspsxc.h</a> file. </dd></dl>

<p>Referenced by <a class="el" href="group__ufspsxc.html#ga9d5217db85b9198686faa9f2dabd07b4">XUfsPsxc_ConfigureTxRxAttributes()</a>, <a class="el" href="group__ufspsxc.html#ga46c30f50e646ad1e1a080ef88b80eb70">XUfsPsxc_EnableMPhy()</a>, <a class="el" href="group__ufspsxc.html#gae0db9d094adbe197913f6c107e0f02ef">XUfsPsxc_HostInitialize()</a>, <a class="el" href="group__ufspsxc.html#ga35add787c05c073b7b1a404d54425f78">XUfsPsxc_ReadPhyReg()</a>, <a class="el" href="group__ufspsxc.html#ga186554489b15b12e4d3e6d07669f317f">XUfsPsxc_SetRmmiConfig()</a>, and <a class="el" href="group__ufspsxc.html#ga506adfb0eda2bedee784c7abee535397">XUfsPsxc_WritePhyReg()</a>.</p>

</div>
</div>
<a class="anchor" id="ga13fea34df11f07626308ad42623497ff"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XUfsPsxc_Set4KBlkSize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XUfsPsxc_Xfer_CmdDesc *&#160;</td>
          <td class="paramname"><em>CmdDescPtr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This API set the block size to 4K for Boot LUN. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_ufs_psxc.html" title="The XUfsPsxc driver instance data. ">XUfsPsxc</a> instance. </td></tr>
    <tr><td class="paramname">CmdDescPtr</td><td>is a pointer to the XUfsPsxc_Xfer_CmdDesc instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XUFSPSXC_SUCCESS, XUFSPSXC_FAILURE. </dd></dl>

<p>References <a class="el" href="group__ufspsxc.html#gac6c05905f6fcef83ac0da3b72887164b">XUfsPsxc_FillDescUpiu()</a>, and <a class="el" href="group__ufspsxc.html#ga5c93689c07193dfa1a85d9b093596b0e">XUfsPsxc_ProcessUpiu()</a>.</p>

<p>Referenced by <a class="el" href="group__ufspsxc.html#ga1e4078f7061f73d5ccd64eafe59c13ee">XUfsPsxc_CheckBootReq()</a>, and <a class="el" href="group__ufspsxc.html#ga6e5ad67b7055e0c5174028c2bdd464c0">XUfsPsxc_SwitchBootLUN()</a>.</p>

</div>
</div>
<a class="anchor" id="ga9d2af8ff970bc14578e9b35d1969d460"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XUfsPsxc_SetHce </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Perform the Host Controller Enable/Disable. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_ufs_psxc.html" title="The XUfsPsxc driver instance data. ">XUfsPsxc</a> instance. </td></tr>
    <tr><td class="paramname">Value</td><td>is used to enable/disable Host Controller.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XUFSPSXC_SUCCESS for Success XUFSPSXC_FAILURE for failure </dd></dl>

<p>Referenced by <a class="el" href="group__ufspsxc.html#gae0db9d094adbe197913f6c107e0f02ef">XUfsPsxc_HostInitialize()</a>.</p>

</div>
</div>
<a class="anchor" id="ga186554489b15b12e4d3e6d07669f317f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XUfsPsxc_SetRmmiConfig </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This API setup RMMI configurations. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_ufs_psxc.html" title="The XUfsPsxc driver instance data. ">XUfsPsxc</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XUFSPSXC_SUCCESS or Error codes. </dd></dl>

<p>References <a class="el" href="group__ufspsxc.html#ga3466d6c88ad459aef56d2d686ff077c8">XUfsPsxc_SendUICCmd()</a>.</p>

<p>Referenced by <a class="el" href="group__ufspsxc.html#ga2c5da410d2eefa54129eb56efb13bc3f">XUfsPsxc_PhyInit()</a>.</p>

</div>
</div>
<a class="anchor" id="ga6e5ad67b7055e0c5174028c2bdd464c0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XUfsPsxc_SwitchBootLUN </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This API switch the Boot-LU(1-&gt;2 or 2-&gt;1) by modifying the Attributes and also set the block size to 4K if it is not 4K. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_ufs_psxc.html" title="The XUfsPsxc driver instance data. ">XUfsPsxc</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XUFSPSXC_SUCCESS or ERROR_CODE. </dd></dl>

<p>References <a class="el" href="group__ufspsxc.html#ga88763b7077bb9b4880c84156663dc1cb">XUfsPsxc_FillAttrUpiu()</a>, <a class="el" href="group__ufspsxc.html#ga5c93689c07193dfa1a85d9b093596b0e">XUfsPsxc_ProcessUpiu()</a>, and <a class="el" href="group__ufspsxc.html#ga13fea34df11f07626308ad42623497ff">XUfsPsxc_Set4KBlkSize()</a>.</p>

<p>Referenced by <a class="el" href="xufspsxc__setluncfg__example_8c.html#ab437da67678433c70e4de04e512d6ba1">UfsPsxcRawTest()</a>.</p>

</div>
</div>
<a class="anchor" id="ga506adfb0eda2bedee784c7abee535397"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XUfsPsxc_WritePhyReg </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_x_ufs_psxc___uic_cmd.html">XUfsPsxc_UicCmd</a> *&#160;</td>
          <td class="paramname"><em>UicCmdPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Address</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This API does PHY register write with the required sequence. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_ufs_psxc.html" title="The XUfsPsxc driver instance data. ">XUfsPsxc</a> instance. </td></tr>
    <tr><td class="paramname">UicCmdPtr</td><td>is a pointer to the <a class="el" href="struct_x_ufs_psxc___uic_cmd.html" title="UIC Command Structure. ">XUfsPsxc_UicCmd</a> instance. </td></tr>
    <tr><td class="paramname">Address</td><td>is Address of the PHy register. </td></tr>
    <tr><td class="paramname">Value</td><td>is Value to be written to the PHY register.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XUFSPSXC_SUCCESS or Error codes. </dd></dl>

<p>References <a class="el" href="group__ufspsxc.html#ga3466d6c88ad459aef56d2d686ff077c8">XUfsPsxc_SendUICCmd()</a>.</p>

<p>Referenced by <a class="el" href="group__ufspsxc.html#ga2c5da410d2eefa54129eb56efb13bc3f">XUfsPsxc_PhyInit()</a>.</p>

</div>
</div>
<a class="anchor" id="ga5b503a6cef357e029c87ab07e4354763"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XUfsPsxc_WritePolled </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_ufs_psxc.html">XUfsPsxc</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Lun</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u64&#160;</td>
          <td class="paramname"><em>Address</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>BlkCnt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u8 *&#160;</td>
          <td class="paramname"><em>Buff</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This API perform the data Write to the UFS device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_ufs_psxc.html" title="The XUfsPsxc driver instance data. ">XUfsPsxc</a> instance. </td></tr>
    <tr><td class="paramname">Lun</td><td>is a Logical Unit Number. </td></tr>
    <tr><td class="paramname">Address</td><td>is the starting Logical Unit number. </td></tr>
    <tr><td class="paramname">BlkCnt</td><td>is the number of blocks to be read. </td></tr>
    <tr><td class="paramname">Buff</td><td>is a pointer to the destination data buffer.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XUFSPSXC_SUCCESS, XUFSPSXC_FAILURE. </dd></dl>

<p>References <a class="el" href="group__ufspsxc.html#gafd68bf712ad71a509ba5e9715d8b2827">XUfsPsxc_FillTestUnitRdyUpiu()</a>, <a class="el" href="group__ufspsxc.html#ga3c13cdebf8362d85f77b3b15fe52d2c3">XUfsPsxc_FillWriteCmdUpiu()</a>, <a class="el" href="group__ufspsxc.html#ga5c93689c07193dfa1a85d9b093596b0e">XUfsPsxc_ProcessUpiu()</a>, and <a class="el" href="group__ufspsxc.html#ga5f89f5e1828c893eaeadf6ff46bfcdff">XUFSPSXC_SCSI_GOOD</a>.</p>

<p>Referenced by <a class="el" href="xufspsxc__setluncfg__example_8c.html#ab437da67678433c70e4de04e512d6ba1">UfsPsxcRawTest()</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
	<p class="footer">&copy; Copyright 2015-2022 Xilinx, Inc. All Rights Reserved.</p>
	<p class="footer">&copy; Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.</p>
</div>
</body>
</html>
